using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using SystemFrameworks;
using Common;
using Microsoft.ApplicationBlocks.Data;
using MinCultura.Sipa.DataAccess.AgentesArtes;

namespace MinCultura.Sipa.AgentesArtes
{
    public class CcrRequisitosAgente
    {
        #region Private Data Access Atributes

        private const String AGE_ID_PARAM = "@AGE_ID";
        private const String REQ_TRAYECTORIA_ARTISTICA_ANNOS_PARAM = "@REQ_TRAYECTORIA_ARTISTICA_ANNOS";
        private const String REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_PARAM = "@REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES";
        private const String REQ_TRAYECTORIA_ARTISTICA_ANEXO_PARAM = "@REQ_TRAYECTORIA_ARTISTICA_ANEXO";
        private const String REQ_EXPERIENCIA_FORMADOR_ANNOS_PARAM = "@REQ_EXPERIENCIA_FORMADOR_ANNOS";
        private const String REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_PARAM = "@REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES";
        private const String REQ_EXPERIENCIA_FORMADOR_ANEXO_PARAM = "@REQ_EXPERIENCIA_FORMADOR_ANEXO";
        private const String REQ_PROCEDENCIA_SINO_PARAM = "@REQ_PROCEDENCIA_SINO";
        private const String REQ_PROCEDENCIA_OBSERVACIONES_PARAM = "@REQ_PROCEDENCIA_OBSERVACIONES";
        private const String REQ_PROCEDENCIA_ANEXO_PARAM = "@REQ_PROCEDENCIA_ANEXO";
        private const String REQ_PARTICIPACION_PROGRAMAS_ANNOS_PARAM = "@REQ_PARTICIPACION_PROGRAMAS_ANNOS";
        private const String REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_PARAM = "@REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES";
        private const String REQ_PARTICIPACION_PROGRAMAS_ANEXO_PARAM = "@REQ_PARTICIPACION_PROGRAMAS_ANEXO";
        private const String REQ_ESTRATO_PARAM = "@REQ_ESTRATO";
        private const String REQ_ESTRATO_OBSERVACIONES_PARAM = "@REQ_ESTRATO_OBSERVACIONES";
        private const String REQ_ESTRATO_ANEXO_PARAM = "@REQ_ESTRATO_ANEXO";
        private const String ID_PROYECTO_FORMACION_MUSICAL_PARAM = "@ID_PROYECTO_FORMACION_MUSICAL";
        private const String REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_PARAM = "@REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES";
        private const String REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_PARAM = "@REQ_PROYECTO_FORMACION_MUSICAL_ANEXO";
        private const String ID_NBI_MUNICIPIO_PARAM = "@ID_NBI_MUNICIPIO";
        private const String ID_COSTOS_TRASLADO_PARAM = "@ID_COSTOS_TRASLADO";
        private const String REQ_COSTOS_TRASLADO_OBSERVACIONES_PARAM = "@REQ_COSTOS_TRASLADO_OBSERVACIONES";
        private const String REQ_COSTOS_TRASLADO_ANEXO_PARAM = "@REQ_COSTOS_TRASLADO_ANEXO";
        private const String ID_PRIORIZACION_TERRITORIAL_PARAM = "@ID_PRIORIZACION_TERRITORIAL";
        private const String REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_PARAM = "@REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES";
        private const String REQ_PRIORIZACION_TERRITORIAL_ANEXO_PARAM = "@REQ_PRIORIZACION_TERRITORIAL_ANEXO";
        private const String PRG_ID_PARAM = "@PRG_ID";


        #endregion Private Data Access Atributes

        #region propiedades

        private string _cadenaConexion;

        public string ConnectionString
        {
            get { return _cadenaConexion; }
            set { _cadenaConexion = value; }
        }

        #endregion

        #region Constructor
        /// <summary>
        /// Constructor de la clase CcrRequisitosAgente
        /// </summary>
        public CcrRequisitosAgente(string strCadenaConecxion)
        {
            ConnectionString = strCadenaConecxion;
        }
        #endregion

        #region Adicionar
        public bool Adicionar(CcrRequisitosAgenteData datos, params SqlTransaction[] transaction)
        {
            bool response;
            try
            {
                foreach (DataRow row in datos.Rows)
                {
                    

                    SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[CcrRequisitosAgenteData.AGE_ID_FIELD]);
                    SqlParameter param2 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANNOS_FIELD].ToString()) ? new SqlParameter(REQ_TRAYECTORIA_ARTISTICA_ANNOS_PARAM, row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANNOS_FIELD]) : null;
                    SqlParameter param3 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param4 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_TRAYECTORIA_ARTISTICA_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANEXO_FIELD]) : null;
                    SqlParameter param5 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANNOS_FIELD].ToString()) ? new SqlParameter(REQ_EXPERIENCIA_FORMADOR_ANNOS_PARAM, row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANNOS_FIELD]) : null;
                    SqlParameter param6 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param7 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_EXPERIENCIA_FORMADOR_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANEXO_FIELD]) : null;
                    SqlParameter param8 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_SINO_FIELD].ToString()) ? new SqlParameter(REQ_PROCEDENCIA_SINO_PARAM, row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_SINO_FIELD]) : null;
                    SqlParameter param9 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PROCEDENCIA_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param10 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PROCEDENCIA_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_ANEXO_FIELD]) : null;
                    SqlParameter param11 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANNOS_FIELD].ToString()) ? new SqlParameter(REQ_PARTICIPACION_PROGRAMAS_ANNOS_PARAM, row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANNOS_FIELD]) : null;
                    SqlParameter param12 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param13 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PARTICIPACION_PROGRAMAS_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANEXO_FIELD]) : null;
                    SqlParameter param14 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_ESTRATO_FIELD].ToString()) ? new SqlParameter(REQ_ESTRATO_PARAM, row[CcrRequisitosAgenteData.REQ_ESTRATO_FIELD]) : null;
                    SqlParameter param15 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_ESTRATO_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_ESTRATO_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_ESTRATO_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param16 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_ESTRATO_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_ESTRATO_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_ESTRATO_ANEXO_FIELD]) : null;
                    SqlParameter param17 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_PROYECTO_FORMACION_MUSICAL_FIELD].ToString()) ? new SqlParameter(ID_PROYECTO_FORMACION_MUSICAL_PARAM, row[CcrRequisitosAgenteData.ID_PROYECTO_FORMACION_MUSICAL_FIELD]) : null;
                    SqlParameter param18 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param19 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_FIELD]) : null;
                    SqlParameter param20 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_NBI_MUNICIPIO_FIELD].ToString()) ? new SqlParameter(ID_NBI_MUNICIPIO_PARAM, row[CcrRequisitosAgenteData.ID_NBI_MUNICIPIO_FIELD]) : null;
                    SqlParameter param21 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_COSTOS_TRASLADO_FIELD].ToString()) ? new SqlParameter(ID_COSTOS_TRASLADO_PARAM, row[CcrRequisitosAgenteData.ID_COSTOS_TRASLADO_FIELD]) : null;
                    SqlParameter param22 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_COSTOS_TRASLADO_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param23 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_COSTOS_TRASLADO_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_ANEXO_FIELD]) : null;
                    SqlParameter param24 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_PRIORIZACION_TERRITORIAL_FIELD].ToString()) ? new SqlParameter(ID_PRIORIZACION_TERRITORIAL_PARAM, row[CcrRequisitosAgenteData.ID_PRIORIZACION_TERRITORIAL_FIELD]) : null;
                    SqlParameter param25 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param26 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PRIORIZACION_TERRITORIAL_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_ANEXO_FIELD]) : null;





                    SqlParameter[] parameters = {
													param1, param2, param3, param4, param5, param6, param7, param8, param9, param10,
													param11, param12, param13, param14, param15, param16, param17, param18, param19,
                                                    param20, param21, param22, param23, param24, param25, param26
												};
                    if (transaction.Length > 0)
                        SqlHelper.ExecuteNonQuery(transaction[0], CommandType.StoredProcedure, "PAS_ADICIONAR_CCR_REQUISITOS_AGENTE", parameters);
                    else
                        SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "PAS_ADICIONAR_CCR_REQUISITOS_AGENTE", parameters);
                }
                response = true;
            }
            catch (SqlException sqlEx)
            {
                throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ADICIONAR_CCR_REQUISITOS_AGENTE"), sqlEx);
            }
            catch (Exception ex)
            {
                throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorInsertar", this.GetType().FullName) + ".<br>" + ex.Message, ex);
            }
            return response;
        }
        #endregion

        #region EliminarAgentesProgramas
        public void EliminarAgentesProgramas(CcrRequisitosAgenteData datos, params SqlTransaction[] transaction)
        {
            try
            {
                foreach (DataRow row in datos.Rows)
                {
                    SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[CcrRequisitosAgenteData.AGE_ID_FIELD]);
                    SqlParameter[] parameters = { param1 };
                    if (transaction.Length > 0)
                        SqlHelper.ExecuteNonQuery(transaction[0], CommandType.StoredProcedure,
                                                  "PAS_ELIMINAR_CCR_AGENTES_PROGRAMAS_AGE_ID", parameters);
                    else
                        SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
                                                  "PAS_ELIMINAR_CCR_AGENTES_PROGRAMAS_AGE_ID", parameters);
                }


            }
            catch (SqlException sqlEx)
            {
                throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ELIMINAR_CCR_AGENTES_PROGRAMAS_AGE_ID"), sqlEx);
            }
            catch (Exception ex)
            {
                throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorInsertar", this.GetType().FullName) + ".<br>" + ex.Message, ex);
            }
        }
        #endregion

        #region AdcionarAgentesProgramas
        public void AdcionarAgentesProgramas(CcrRequisitosAgenteData datos, params SqlTransaction[] transaction)
        {
            try
            {
                foreach (DataRow row in datos.Rows)
                {
                    SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[CcrRequisitosAgenteData.AGE_ID_FIELD]);
                    SqlParameter param2 = new SqlParameter(PRG_ID_PARAM, row[CcrRequisitosAgenteData.PRG_ID_FIELD]);

                    SqlParameter[] parameters = { param1, param2 };
                    if (transaction.Length > 0)
                        SqlHelper.ExecuteNonQuery(transaction[0], CommandType.StoredProcedure,
                                                  "PAS_ADICIONAR_CCR_AGENTES_PROGRAMAS", parameters);
                    else
                        SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
                                                  "PAS_ADICIONAR_CCR_AGENTES_PROGRAMAS", parameters);
                }


            }
            catch (SqlException sqlEx)
            {
                throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ADICIONAR_CCR_AGENTES_PROGRAMAS"), sqlEx);
            }
            catch (Exception ex)
            {
                throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorInsertar", this.GetType().FullName) + ".<br>" + ex.Message, ex);
            }
        }
        #endregion

        #region Actualizar
        public bool Actualizar(CcrRequisitosAgenteData datos, params SqlTransaction[] transaction)
        {
            int cant = 0;
            bool response;
            try
            {
                foreach (DataRow row in datos.Rows)
                {
                    SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, row[CcrRequisitosAgenteData.AGE_ID_FIELD]);
                    SqlParameter param2 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANNOS_FIELD].ToString()) ? new SqlParameter(REQ_TRAYECTORIA_ARTISTICA_ANNOS_PARAM, row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANNOS_FIELD]) : null;
                    SqlParameter param3 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param4 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_TRAYECTORIA_ARTISTICA_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_TRAYECTORIA_ARTISTICA_ANEXO_FIELD]) : null;
                    SqlParameter param5 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANNOS_FIELD].ToString()) ? new SqlParameter(REQ_EXPERIENCIA_FORMADOR_ANNOS_PARAM, row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANNOS_FIELD]) : null;
                    SqlParameter param6 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param7 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_EXPERIENCIA_FORMADOR_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_EXPERIENCIA_FORMADOR_ANEXO_FIELD]) : null;
                    SqlParameter param8 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_SINO_FIELD].ToString()) ? new SqlParameter(REQ_PROCEDENCIA_SINO_PARAM, row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_SINO_FIELD]) : null;
                    SqlParameter param9 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PROCEDENCIA_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param10 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PROCEDENCIA_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PROCEDENCIA_ANEXO_FIELD]) : null;
                    SqlParameter param11 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANNOS_FIELD].ToString()) ? new SqlParameter(REQ_PARTICIPACION_PROGRAMAS_ANNOS_PARAM, row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANNOS_FIELD]) : null;
                    SqlParameter param12 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param13 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PARTICIPACION_PROGRAMAS_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PARTICIPACION_PROGRAMAS_ANEXO_FIELD]) : null;
                    SqlParameter param14 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_ESTRATO_FIELD].ToString()) ? new SqlParameter(REQ_ESTRATO_PARAM, row[CcrRequisitosAgenteData.REQ_ESTRATO_FIELD]) : null;
                    SqlParameter param15 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_ESTRATO_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_ESTRATO_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_ESTRATO_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param16 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_ESTRATO_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_ESTRATO_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_ESTRATO_ANEXO_FIELD]) : null;
                    SqlParameter param17 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_PROYECTO_FORMACION_MUSICAL_FIELD].ToString()) ? new SqlParameter(ID_PROYECTO_FORMACION_MUSICAL_PARAM, row[CcrRequisitosAgenteData.ID_PROYECTO_FORMACION_MUSICAL_FIELD]) : null;
                    SqlParameter param18 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param19 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PROYECTO_FORMACION_MUSICAL_ANEXO_FIELD]) : null;
                    SqlParameter param20 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_NBI_MUNICIPIO_FIELD].ToString()) ? new SqlParameter(ID_NBI_MUNICIPIO_PARAM, row[CcrRequisitosAgenteData.ID_NBI_MUNICIPIO_FIELD]) : null;
                    SqlParameter param21 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_COSTOS_TRASLADO_FIELD].ToString()) ? new SqlParameter(ID_COSTOS_TRASLADO_PARAM, row[CcrRequisitosAgenteData.ID_COSTOS_TRASLADO_FIELD]) : null;
                    SqlParameter param22 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_COSTOS_TRASLADO_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param23 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_COSTOS_TRASLADO_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_COSTOS_TRASLADO_ANEXO_FIELD]) : null;
                    SqlParameter param24 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.ID_PRIORIZACION_TERRITORIAL_FIELD].ToString()) ? new SqlParameter(ID_PRIORIZACION_TERRITORIAL_PARAM, row[CcrRequisitosAgenteData.ID_PRIORIZACION_TERRITORIAL_FIELD]) : null;
                    SqlParameter param25 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_FIELD].ToString()) ? new SqlParameter(REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_PARAM, row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_OBSERVACIONES_FIELD]) : null;
                    SqlParameter param26 = !String.IsNullOrEmpty(row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_ANEXO_FIELD].ToString()) ? new SqlParameter(REQ_PRIORIZACION_TERRITORIAL_ANEXO_PARAM, row[CcrRequisitosAgenteData.REQ_PRIORIZACION_TERRITORIAL_ANEXO_FIELD]) : null;
                    SqlParameter[] parameters = {
                                                    param1, param2, param3, param4, param5, param6, param7, param8, param9, param10,
                                                    param11, param12, param13, param14, param15, param16, param17, param18, param19,
                                                    param20, param21, param22, param23, param24, param25, param26
                                                };
                    if (transaction.Length > 0)
                        cant += SqlHelper.ExecuteNonQuery(transaction[0], CommandType.StoredProcedure, "PAS_ACTUALIZAR_CCR_REQUISITOS_AGENTE", parameters);
                    else
                        cant += SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, "PAS_ACTUALIZAR_CCR_REQUISITOS_AGENTE", parameters);
                }
                if (cant > 0)
                    response = true;
                else
                    response = false;
            }
            catch (SqlException sqlEx)
            {
                throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_ACTUALIZAR_CCR_REQUISITOS_AGENTE"), sqlEx);
            }
            catch (Exception ex)
            {
                throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorInsertar", this.GetType().FullName) + ".<br>" + ex.Message, ex);
            }
            return response;
        }
        #endregion

        #region ConsultarAgentesAnexos
        public CcrRequisitosAgenteData ConsultarAgentesAnexos(decimal parAGE_ID)
        {
            CcrRequisitosAgenteData response = new CcrRequisitosAgenteData();
            SqlParameter param1 = new SqlParameter(AGE_ID_PARAM, parAGE_ID);
            SqlParameter[] parameters = { param1 };
            try
            {
                SqlHelper.ExecuteDataTable(ConnectionString, CommandType.StoredProcedure, "PAS_CONSULTAR_CCR_REQUISITOS_AGENTE",
                    response, parameters);
            }
            catch (SqlException sqlEx)
            {
                throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_CONSULTAR_CCR_REQUISITOS_AGENTE"), sqlEx);
            }
            catch (Exception ex)
            {
                throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorConsultar", this.GetType().FullName) + ".<br>" + ex.Message, ex);
            }
            if (response.Rows.Count == 0)
                return null;
            return response;
        }
        #endregion

        #region ConsultarCcrProgramasRequisitosPrgId
        public DataTable ConsultarCcrProgramasRequisitosPrgId(string strPrgId)
        {
            DataTable response = new DataTable();
            SqlParameter param1 = new SqlParameter(PRG_ID_PARAM, strPrgId);
            SqlParameter[] parameters = { param1 };
            try
            {
                SqlHelper.ExecuteDataTable(ConnectionString, CommandType.StoredProcedure, "PAS_CONSULTAR_CCR_PROGRAMAS_REQUISITOS_PRG_ID",
                    response, parameters);
            }
            catch (SqlException sqlEx)
            {
                throw new ApplicationExceptionManager(Utilidad.DisplaySqlErrors(sqlEx, "PAS_CONSULTAR_CCR_PROGRAMAS_REQUISITOS_PRG_ID"), sqlEx);
            }
            catch (Exception ex)
            {
                throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorConsultar", this.GetType().FullName) + ".<br>" + ex.Message, ex);
            }

            return response;
        }
        #endregion
    }
}
